package cn.com.twoke.easyproject.modules.auth.spi.pojo;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;

import java.time.LocalDateTime;

@Schema( description = "登录用户信息")
public interface LoginUserInfo {

    @Schema(description = "用户ID")
    String getUid();

    /**
     * 用户名
     * @return
     */
    @Schema(description = "用户名")
    String getUsername();

    /**
     * 昵称
     * @return
     */
    @Schema(description = "用户昵称")
    String getNickname();

    /**
     * 头像
     * @return
     */
    @Schema(description = "用户头像")
    String getAvatar();

    @Schema(description = "最后登录IP")
    String getLatestIpAddress();

    @Schema(description = "最后登录区域")
    String getLatestIpRegion();

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "最后登录时间")
    LocalDateTime getLatestLoginTime();


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "最后登出时间")
    LocalDateTime getLatestLogoutTime();

}
